xml命名空间详解
关于命名空间有很多人回避。认为太难。其实命名空间使用很普遍,在xml中也大量存在。初学as3者搞不清楚是因为关于这方面的教程少且as3帮助文件中也没有从基础讲起。而从一本厚厚的xml书籍中查询或者看官方网站的介绍又是一种非常苦的事情。这里我把我学习和理解的过程总结下,尽量用通俗的语言写出来。希望能够帮助初学者过这个难关,利益他人。什么是XML的命名空间:为了避免XML的标签同名。XML也拥有命名空间。标签可以放入命名空间中,不同的命名空间中的相同名称标签是不同的标签。在xml文件中,命名空间的定义如下:;其中 是命名空间的标签。是命名空间的标识。d是命名空间的前缀。命名空间标签:由于命名空间采取元素属性的定义方式,所以需要一个标签。命名空间标识:命名空间标识是命名空间最重要的属性,重要到当输出一个命名空间时就直接转换为它的标识。标识有个规范的称呼:URI(统一资源定位符)。URI的最大特点是唯一性。如果不唯一就失去了辨识的意义。实际上相同URI不同的命名空间被看成同一个命名空间。URI分为两种类型:URL(统一资源定位器):通俗的说URL就是网页地址。因为每个网页在上都是唯一的。URN(统一资源名称):可以不使用网页地址而使用唯一名称来定义。如:urn:2007-12-9//xin/或 urn:-05FE-44ec-81CE-这个编号是在系统中注册的控件编号,因此是唯一的。前缀:前缀用于在XML中作为URI的简化引用。因为URI太长了。如: Jeff Smith使用前缀把标签放入对应的命名空间中。有了命名空间区分后相同标签名可以不会被错误解析。实际上命名空间加上元素名叫做QName。QName有两个属性:uri和,分别获取命名空间名和本地名称。这个QName可以使用xml的name()方法得到。如上例子中的xml文件可以使用如下代码访问:
var ns:=xml.();var node:=xml.ns::id;var =node.name();trace(qName.uri);trace(qName.);命名空间不一点要定义在根节点。可以在任何标签中定义,但只有定义了后才能使用。命名空间还可以嵌套或者被重定义。但这样会增加复杂性。一般用的比较少。一个xml文件中可以拥有多个命名空间。使用命名空间前缀可以轻松处理它们。如:使用默认命名空间:在xml文档中,可以使用以下语句定义默认命名空间:xmlns=使用默认命名空间后,如果不加前缀则引用默认命名空间。使用默认命名空间会降低xml结构的清晰度。要慎用。相关资源:垃圾分类数据集及代码
400电话办理